package com.teacherprofile.common.domain;

import java.util.Date;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.ContentStyle;
import com.alibaba.excel.annotation.write.style.HeadFontStyle;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import com.alibaba.excel.enums.poi.HorizontalAlignmentEnum;
import com.alibaba.excel.enums.poi.VerticalAlignmentEnum;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.teacherprofile.common.converters.DateConverter;
import com.teacherprofile.common.converters.software_copywrite.AcquisitionMethodConverter;
import com.teacherprofile.common.converters.software_copywrite.RightScopeConverter;
import lombok.Data;
import com.teacherprofile.common.core.domain.BaseEntity;


/**
 * 软著管理对象 tb_software_copyrights
 * 
 * @author qvtu
 * @date 2025-04-21
 */
@Data
@ContentStyle(horizontalAlignment = HorizontalAlignmentEnum.CENTER, verticalAlignment = VerticalAlignmentEnum.CENTER)
@ExcelIgnoreUnannotated
@ColumnWidth(22)
@HeadRowHeight(16)
@HeadFontStyle(fontHeightInPoints = 12)
@TableName("tb_software_copyrights")
public class SoftwareCopyrights extends BaseEntity
{

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 登记号 */
    @ExcelProperty(value = "登记号",order = 1)
    private String registrationNo;
    /** 软件名称 */
    @ExcelProperty(value = "软件名称",order = 1)
    private String softwareName;

    /** 作者列表 */
    @ExcelProperty(value = "作者列表",order = 2)
    private String authors;

    /** 指导教师 */
    @ExcelProperty(value = "指导教师",order = 3)
    private String advisor;

    /** 开发完成日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ExcelProperty(value = "开发完成日期",converter = DateConverter.class,order = 9)
    private Date completionDate;

    /** 首次发布日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ExcelProperty(value="首次发布日期" , converter = DateConverter.class,order = 8)
    private Date firstPublishDate;

    /** 获得时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ExcelProperty(value="获得时间",converter = DateConverter.class,order = 7)
    private Date acquisitionDate;

    /** 取得方式 */
    @ExcelProperty(value = "取得方式",converter = AcquisitionMethodConverter.class,order = 6)
    private Integer acquisitionMethod;

    /** 权利范围 */
    @ExcelProperty(value = "权利范围",converter = RightScopeConverter.class,order = 5)
    private Integer rightScope;



    @ExcelProperty(value = "教职工号",order = 4)
    private String userName;

    @ExcelProperty("扫描件")
    private String scannedDocumentsUrl;


}
